草庐IT

rust 特点

全部标签

不同波段的热红外相机特点与应用

热红外相机通常分为三个主要波段:长波红外(LWIR)波段:这个波段的范围大约在8-14微米。长波红外相机主要用于工业、安全监控和夜视设备。这个波段的特点是对温度变化非常敏感,能够在没有任何光源的情况下工作。中波红外(MWIR)波段:波长范围大约在3-5微米。中波红外相机通常用于军事和航空应用,因为它们可以在较长距离内检测热辐射。这些相机对于气体检测和火焰检测也很有用。短波红外(SWIR)波段:波长范围大约在0.9-2.5微米。短波红外相机常用于工业检测、科学研究以及某些成像应用,如通过烟雾或雾进行成像。这些相机能够检测到红外光谱中的反射光,而不只是热辐射。长波红外(LWIR)相机在8-14微米

30天拿下Rust之前世今生

概述        随着软件开发的不断发展和进步,编程语言也在不断地涌现和更迭。其中,Rust作为一种相对较新的编程语言,已经在短短几年内引起了广泛的关注和讨论。Rust语言犹如一颗璀璨的新星,以其独特的设计理念和强大的性能优势,吸引了全球开发者的眼球。它的诞生、成长与发展历程,既是一部技术革新的编年史,也是一场对软件工程未来方向深度探索的实践之旅。Rust的诞生        Rust的诞生可以追溯到2006年,当时Mozilla公司的研究员GraydonHoare开始思考如何解决C++的一些痛点。他认为,C++虽然强大,但也存在很多难以避免的问题,比如:内存安全、并发和线程安全等。这些问题

一文读懂「四大主流计算芯片 CPU、GPU、ASIC、FPGA」特点和场景

纵观人类历史,从结绳计数、木制计数到巴比伦的粘土板上的刻痕,再到中国古代的算盘,社会生产力的提高与当时所采用的计算工具密切相关。计算工具能力越强,就能大幅缩短人类解决复杂问题的时间,社会生产力水平自然就会越高。CPUCPU,全称CentralProcessingUnit,即中央处理器。现代电子计算机的发明是基于1940年代诞生的冯·诺依曼架构,这个架构主要由运算器、控制器、存储器、输入设备、输出设备等五个主要部分组成。特点:CPU具有通用性和灵活性,能够执行各种任务,如操作系统管理、软件运行和数据处理等。它擅长串行计算,即按照指定顺序执行任务。应用:广泛应用于个人电脑、服务器、移动设备等各种计

Rust 智能指针

本文在原文基础上有删减,原文参考Rust智能指针目录使用Box指向堆上的数据使用Box在堆上储存数据Box允许创建递归类型conslist的更多内容计算非递归类型的大小使用Box给递归类型一个已知的大小通过Dereftrait将智能指针当作常规引用处理追踪指针的值像引用一样使用Box自定义智能指针通过实现Dereftrait将某类型像引用一样处理函数和方法的隐式Deref强制转换Deref强制转换如何与可变性交互使用DropTrait运行清理代码通过std::mem::drop提早丢弃值Rc引用计数智能指针使用Rc共享数据克隆Rc会增加引用计数RefCell和内部可变性模式通过RefCell在

UDP/TCP协议特点

1.前置知识定义应用层协议1.确定客户端和服务端要传递哪些信息2.约定传输格式网络上传输的一般是二进制数据/字符串结构化数据转二进制/字符串   称为序列化反之称之为反序列化下面就是传输层了在TCP/IP协议中,我们以目的端口,目的IP源端口源IP协议号这样一个五元组来表示一段通信可以在cmd命令行窗口中使用 netstat-n来查看计算机上正在通信的TCP协议应用程序端口号划分端口号标识了主机上通信的不同应用程序0-1023知名端口号 简单列几个知名服务器(这里的知名是站在当年的角度来说的)•ssh服务器,使⽤22端⼝•ftp服务器,使⽤21端⼝•telnet服务器,使⽤23端⼝•http服

vscode中 rust-analyzer插件报错 failed to find any projects in [AbsPathBuf 或者FetchWorkspaceError的解决办法

背景一般来说,如果vscode打开的是rust项目的根目录(即目录下有Cargo.toml和src/文件),rust-analyzer插件可以识别到项目。而如果rust项目只是vscode资源管理器打开的子目录,则有时会出现failedtofindanyprojectsin[AbsPathBufxxx或者FetchWorkspaceError的报错,rust-analyzer也无法正常运行,如下图所示:解决办法vscode侧边栏打开rust-analyzer插件,进入扩展设置也可以ctrl+shift+P进入“首选项:工作区设置”,在上面的输入栏里输入@ext:rust-lang.rust-a

2024 年,Rust 越来越火了

2月19日,Rust发布了2023年度的调查报告。这项调查已经连续进行了八年,吸引了众多Rust项目的维护者、贡献者以及对Rust未来发展感兴趣的人士参与。2023年度Rust状况调查于2023年12月18日开始,并持续至2024年1月15日。Rust团队正在探索一个更为高效、可持续的流程,旨在更快地收集并分析数据,从而为社区提供更深入、更有价值的见解。Rust用途2023年,自称是Rust用户的受访者比例略有上升,从2022年的91%增长到2023年的93%。在2023年使用Rust的人群中,有49%的人每天都在使用Rust,与去年相比增长了2个百分点,呈现出轻微的上升趋势。在非Rust用户

c++ - 当通过 FFI 从 Rust 调用时,您如何使用返回 shared_ptr<T> 的 C++ 函数?

C++shared_ptrcreate_foo();使用rustextern"C"{pubfncreate_foo()->???;}Bindgen将shared_ptr变成不透明的blob。我不能只使用原始指针,因为这样C++代码就不知道我有一个对Foo的引用,并且可能会调用它的解构函数。 最佳答案 std::shared_ptr是一个C++类和一个非平凡的类型,不能按原样从库中导出——您需要它在目标语言中的定义符合C++中的定义.要使用FFI,您需要为您的库函数提供一个简单的CABI(C++ABI不稳定,可能会在编译器版本之间发生

49从零开始用Rust编写nginx,我竟然在同一个端口上绑定了多少IP

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,负载均衡,静态文件服务器,websocket代理,四层TCP/UDP转发,内网穿透等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy设计目标快速的设置多IP绑定,及IP端口段的支持,方便快速的自定义能力。IP解析示例以下是常见的IP解析示例情况,本地ip为192.168.0.100示例:正常IP解析127.0.0.1:8869解析成ipv41

教你用Rust实现Smpp协议

本文分享自华为云社区《华为云短信服务教你用Rust实现Smpp协议》,作者:张俭。协议概述SMPP(ShortMessagePeer-to-Peer)协议起源于90年代,最初由Aldiscon公司开发,后来由SMPP开发者论坛维护和推广。SMPP常用于在SMSC(ShortMessageServiceCenter,短信中心)和短信应用之间传输短消息,支持高效的短信息发送、接收和查询功能,是电信运营商和短信服务提供商之间互通短信的主要协议之一。SMPP协议基于客户端/服务端模型工作。由客户端(短信应用,如手机,应用程序等)先和SMSC建立起TCP长连接,并使用SMPP命令与SMSC进行交互,实现